fix(core): fix snapshot restore to correctly restore tables when snapshot is taken under heavy DDL load #4212
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix issue found by fuzz tests when
_meta
file may not exist at the snapshot's table folder. This can occur when a table undergoes heavy column add/remove while snapshot files are copied.Also, the PR contains a minor change to support snapshot id in .txt file. File _snapshot with instance id where the snapshot is created from has an inconvenient format, it's strictly saying a binary file.
This makes it hard to restore from the snapshots created by the instances where id was not set. This PR adds support of _snapshot.txt file which will be used if file _snapshot is empty and it can be added as a text.